package cc.rengu.igas.bomp.common.dao;

import cc.rengu.igas.bomp.common.entity.BizTmp;

import java.util.List;

/**
 * 业务临时表操作接口类
 * Created by 王成 on 2020/3/10
 */
public interface BizTmpMapper {
    /**
     * 登记业务临时表信息
     *
     * @param bizTmp 业务临时表信息
     * @return 0-成功，其它-失败
     * @throws Exception 异常
     */
    int insertBizTmp(BizTmp bizTmp) throws Exception;

    /**
     * 更新业务临时表信息
     *
     * @param bizTmp 业务临时表信息
     * @return 0-成功，其它-失败
     * @throws Exception 异常
     */
    int updateBizTmpByRealId(BizTmp bizTmp) throws Exception;

    /**
     * 根据正式表非业务主键查询临时表信息
     *
     * @param instId 多法人标识
     * @param realId 非业务主键
     * @return 业务临时表信息
     * @throws Exception 异常
     */
    BizTmp selectBizTmpByRealId(String instId, String realId) throws Exception;

    /**
     * 根据签约机构及操作表名查询临时表信息
     *
     * @param instId       多法人标识
     * @param manageInstId 管理机构
     * @param oprTableName 数据库表名
     * @return 业务临时表信息
     * @throws Exception 异常
     */
    List<BizTmp> selectBizTmpByManageInstId(String instId, String manageInstId, String oprTableName) throws Exception;

    /**
     * 根据商户号及操作表名查询临时表信息
     *
     * @param instId       多法人标识
     * @param mchntNo      商户号
     * @param oprTableName 数据库表名
     * @return 业务临时表信息
     * @throws Exception 异常
     */
    List<BizTmp> selectBizTmpByMchntNo(String instId, String mchntNo, String oprTableName) throws Exception;

    /**
     * 根据商户号及操作表名查询临时表信息
     *
     * @param instId  多法人标识
     * @param mchntNo 商户号
     * @return 业务临时表信息
     * @throws Exception 异常
     */
    List<BizTmp> selectBizTmpListByMchntNo(String instId, String mchntNo) throws Exception;
}
